Printing system, and set and computer-readable medium therefor

ABSTRACT

A printing system includes a printer and an information processing device that includes a processor and a memory storing processor-executable instructions, the instructions being configured to, when executed by the processor, cause the processor to, when there is not information stored in a queue area of the memory, determine to instruct the printer to start a pre-printing operation based on preparation instruction information, when there is information stored in the queue area, determine not to instruct the printer to start the pre-printing operation, in response to determining to instruct the printer to start the pre-printing operation, store the preparation instruction information into the queue area, in response to determining to instruct the printer to start the pre-printing operation and storing the preparation instruction information into the queue area, generate print data based on specified contents data, and store print instruction information into the queue area.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority under 35 U.S.C. §119 from JapanesePatent Application No. 2016-015438 filed on Jan. 29, 2016. The entiresubject matter of the application is incorporated herein by reference.

BACKGROUND

Technical Field

The following description relates to one or more aspects of a printingsystem, and a set and a non-transitory computer-readable mediumtherefor.

Related Art

Heretofore, a computer program has been known that, when executed by acomputer, causes the computer to transmit, to a printer via acommunication network, an instruction to cause the printer to perform apre-printing operation in advance of an instruction to cause the printerto perform a printing operation. The pre-printing operation is performedto ensure a desired level of quality of the printing operation. Forinstance, in response to particular conditions being satisfied, theknown computer program, launched by an operating system (hereinafter,which may be referred to as an “OS”), may cause the computer to transmitto the printer an auto-wakeup command to instruct the printer to performthe pre-printing operation. For example, the particular conditions mayinclude a condition that an output port of the printer is in a readystate and a condition that a particular time or longer has elapsed sincethe last data transmission to the printer.

SUMMARY

However, the known computer program has the following problem.Specifically, in response to the aforementioned particular conditionsbeing satisfied, the computer program causes the computer to transmitthe auto-wakeup command to the printer regardless of whether thecomputer program actually causes the printer to execute the printingoperation. Namely, according to the known computer program, even thoughthe printer does not actually execute the printing operation, theprinter might perform the pre-printing operation. Thereby, it mightresult in wasteful consumption of ink and/or electric power in theprinter.

Aspects of the present disclosure are advantageous to provide one ormore improved techniques that make it possible to provide an instructionto cause a printer to perform a pre-printing operation at appropriatetiming.

According to aspects of the present disclosure, a printing system isprovided that includes a printer and an information processing device.The information processing device includes a first communicationinterface, a processor, and a memory. The memory storesprocessor-executable instructions configured to, when executed by theprocessor, cause the processor to perform a determining process ofdetermining whether to instruct the printer to start a pre-printingoperation based on preparation instruction information, the determiningprocess including when there is not information stored in a queue areaof the memory, determining to instruct the printer to start thepre-printing operation, and when there is information stored in thequeue area, determining not to instruct the printer to start thepre-printing operation, the pre-printing operation being an operation tobe performed by the printer to record an image with particular qualityon a sheet in a printing operation, the preparation instructioninformation being information to be transmitted to the printer inadvance of an instruction to cause the printer to perform the printingoperation, the queue area being configured to store one or more piecesof information to be transmitted to the printer via the firstcommunication interface, with a transmission sequence being specifiedfor the one or more pieces of information, perform a preparationinstruction process in response to determining to instruct the printerto start the pre-printing operation, the preparation instruction processincluding storing the preparation instruction information into the queuearea, perform a generating process in response to determining toinstruct the printer to start the pre-printing operation and performingthe preparation instruction process, the generating process includinggenerating print data based on specified contents data, and perform aprint instruction process including storing print instructioninformation into the queue area, the print instruction information beingfor instructing the printer to perform the printing operation based onthe generated print data. The printer includes an operating unitconfigured to perform the pre-printing operation and the printingoperation, a second communication interface, and a controller configuredto perform a preparation instruction receiving process includingreceiving the preparation instruction information from the informationprocessing device via the second communication interface, perform apre-printing process in response to receiving the preparationinstruction information, the pre-printing process including controllingthe operating unit to perform the pre-printing operation, perform aprint instruction receiving process including receiving the printinstruction information from the information processing device via thesecond communication interface, and perform a print process in responseto receiving the print instruction information and terminating thepre-printing process, the print process including controlling theoperating unit to perform the printing operation in accordance with theprint instruction information.

According to aspects of the present disclosure, further provided is aset including a printer and a non-transitory computer-readable medium.The medium stores computer-readable instructions that are executable bya computer coupled with a first communication interface and a memory.The instructions are configured to, when executed by the computer, causethe computer to perform a determining process of determining whether toinstruct the printer to start a pre-printing operation based onpreparation instruction information. The determining process includesdetermining to instruct the printer to start the pre-printing operationwhen there is not information stored in a queue area of the memory, anddetermining not to instruct the printer to start the pre-printingoperation when there is information stored in the queue area. Thepre-printing operation is an operation to be performed by the printer torecord an image with particular quality on a sheet in a printingoperation. The preparation instruction information is information to betransmitted to the printer in advance of an instruction to cause theprinter to perform the printing operation. The queue area is configuredto store one or more pieces of information to be transmitted to theprinter via the first communication interface, with a transmissionsequence being specified for the one or more pieces of information. Theinstructions are further configured to, when executed by the computer,cause the computer to perform a preparation instruction process inresponse to determining to instruct the printer to start thepre-printing operation, the preparation instruction process includingstoring the preparation instruction information into the queue area,perform a generating process in response to determining to instruct theprinter to start the pre-printing operation and performing thepreparation instruction process, the generating process includinggenerating print data based on specified contents data, and perform aprint instruction process including storing print instructioninformation into the queue area, the print instruction information beingfor instructing the printer to perform the printing operation based onthe generated print data. The printer includes an operating unitconfigured to perform the pre-printing operation and the printingoperation, a second communication interface, and a controller configuredto perform a preparation instruction receiving process includingreceiving the preparation instruction information from the informationprocessing device via the second communication interface, perform apre-printing process in response to receiving the preparationinstruction information, the pre-printing process including controllingthe operating unit to perform the pre-printing operation, perform aprint instruction receiving process including receiving the printinstruction information from the information processing device via thesecond communication interface, and perform a print process in responseto receiving the print instruction information and terminating thepre-printing process, the print process including controlling theoperating unit to perform the printing operation in accordance with theprint instruction information.

According to aspects of the present disclosure, further provided is anon-transitory computer-readable medium storing computer-readableinstructions that are executable by a processor coupled with aninformation processing device including a communication interface and amemory. The instructions are configured to, when executed by theprocessor, cause the processor to perform a first determining process ofdetermining whether to instruct the printer to start a pre-printingoperation based on preparation instruction information, the firstdetermining process including when there is not particular informationstored in a queue area of the memory, determining to instruct theprinter to start the pre-printing operation, and when there isparticular information stored in the queue area, determining not toinstruct the printer to start the pre-printing operation, thepre-printing operation being an operation to be performed by the printerto record an image with particular quality on a sheet in a printingoperation, the preparation instruction information being information tobe transmitted to the printer in advance of an instruction to cause theprinter to perform the printing operation, the queue area beingconfigured to store one or more pieces of information to be transmittedby an operating system of the information processing device to a printervia the communication interface, with a transmission sequence beingspecified for the one or more pieces of information, perform apreparation instruction process in response to determining to instructthe printer to start the pre-printing operation, the preparationinstruction process including storing the preparation instructioninformation into the queue area, perform a generating process inresponse to determining to instruct the printer to start thepre-printing operation and performing the preparation instructionprocess, the generating process including generating print data based onspecified contents data, and perform a print instruction processincluding storing print instruction information into the queue area, theprint instruction information being for instructing the printer toperform the printing operation based on the generated print data.

BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWINGS

FIG. 1A schematically shows a configuration of a printing system in anillustrative embodiment according to one or more aspects of the presentdisclosure.

FIG. 1B is a block diagram schematically showing an electricalconfiguration of a printer included in the printing system in theillustrative embodiment according to one or more aspects of the presentdisclosure.

FIG. 2A is a block diagram schematically showing an electricalconfiguration of an information processing terminal included in theprinting system in the illustrative embodiment according to one or moreaspects of the present disclosure.

FIG. 2B shows condition information stored in a data storage area of theinformation processing terminal in the illustrative embodiment accordingto one or more aspects of the present disclosure.

FIG. 3A shows a correspondence relationship between printers and queueareas of the data storage area in the illustrative embodiment accordingto one or more aspects of the present disclosure.

FIG. 3B shows a particular one of the queue areas in which printinstruction information is stored, in the illustrative embodimentaccording to one or more aspects of the present disclosure.

FIG. 3C shows the particular queue area in which preparation instructioninformation is stored, in the illustrative embodiment according to oneor more aspects of the present disclosure.

FIG. 4 is a flowchart showing a procedure of a print instruction processto be executed by the information processing terminal in theillustrative embodiment according to one or more aspects of the presentdisclosure.

FIG. 5 is a flowchart showing a procedure of a StartDoc process to beexecuted by the information processing terminal in the illustrativeembodiment according to one or more aspects of the present disclosure.

FIG. 6 is a flowchart showing a procedure of a StartPage process to beexecuted by the information processing terminal in the illustrativeembodiment according to one or more aspects of the present disclosure.

FIG. 7A is a flowchart showing a procedure of a preparation instructionprocess to be executed by the information processing terminal in theillustrative embodiment according to one or more aspects of the presentdisclosure.

FIG. 7B is a flowchart showing a procedure of an instructioncancellation process to be executed by the information processingterminal in the illustrative embodiment according to one or more aspectsof the present disclosure.

FIG. 8 is a flowchart showing a procedure of a print process to beexecuted by the printer in the illustrative embodiment according to oneor more aspects of the present disclosure.

FIG. 9A exemplifies an edit screen displayed on a display of theinformation processing terminal in the illustrative embodiment accordingto one or more aspects of the present disclosure.

FIG. 9B shows a state in which a sheet is discharged from the printer inthe illustrative embodiment according to one or more aspects of thepresent disclosure.

FIG. 10 exemplifies a standard setting screen displayed on the displayof the information processing terminal in the illustrative embodimentaccording to one or more aspects of the present disclosure.

DETAILED DESCRIPTION

It is noted that various connections are set forth between elements inthe following description. It is noted that these connections in generaland, unless specified otherwise, may be direct or indirect and that thisspecification is not intended to be limiting in this respect. Aspects ofthe present disclosure may be implemented on circuits (such asapplication specific integrated circuits) or in computer software asprograms storable on computer-readable media including but not limitedto RAMs, ROMs, flash memories, EEPROMs, CD-media, DVD-media, temporarystorage, hard disk drives, floppy drives, permanent storage, and thelike.

Hereinafter, an illustrative embodiment according to aspects of thepresent disclosure will be described with reference to the accompanyingdrawings. As shown in FIG. 1A, for instance, a printing system 1 of theillustrative embodiment includes a printer 10 (see FIG. 1B) and aninformation processing terminal 50 (see FIG. 2A). The printer 10 and theinformation processing terminal 50 are configured to communicate witheach other via a communication network 100. For example, thecommunication network 100 may include, but is not limited to, a wiredLAN, a wireless LAN, and a USB cable. Further, for instance, as shown inFIG. 1A, the printing system 1 may include a plurality of printers 10Aand 10B. Namely, as shown in FIG. 3A, the information processingterminal 50 may be communicable with the plurality of printers 10A and10B.

For instance, a maker or a vendor provides a user with a set of theprinter 10 shown in FIG. 1B and a driver program 66 installable in theinformation processing terminal 50. Then, when the driver program 66 isinstalled into the information processing terminal 50 by the user, theprinting system 1 of the illustrative embodiment is established. Forinstance, the driver program 66 may be provided to the user in a formstored in a CD-ROM contained in a package of the printer 10, or may bedownloadable from a website of the maker or the vendor. The driverprogram 66 may be an example of processor-executable instructions,computer-readable instructions, or a specific program according toaspects of the present disclosure.

As shown in FIG. 1B, the printer 10 includes a power supply 11, anoperating unit 20, a display 23, an input I/F (“I/F” is an abbreviatedform of interface) 24, a communication I/F 25, and a controller 30.Elements included in the printer 10 are interconnected via acommunication bus. In the illustrative embodiment, the printer 10 isexemplified as an inkjet printer. Nonetheless, a recording method of theprinter 10 is not limited to the inkjet method but may include any ofknown methods such as an electrophotographic method. The printers 10Aand 10B shown in FIG. 3A may have substantially the same configurationas exemplified in FIG. 1B.

The power supply 11 is configured to supply each element included in theprinter 10 with an electric power supplied from an external power sourcevia a power plug. Specifically, the power supply 11 outputs an electricpower received from the external power source to the operating unit 20as a drive power (e.g., 24 V) and to the controller 30 as a controlpower (e.g., 5V). Further, although the following features are not shownin any drawings, the power supply 11 is further configured to supply anelectric power to the display 23, the input I/F 24, and thecommunication I/F 25.

Further, the power supply 11 is switchable between a drive state and adormant state in accordance with a power supply signal output from thecontroller 30. More specifically, the controller 30 switches the powersupply 11 from the dormant state to the drive state by outputting apower supply signal of a “HIGH” level (e.g., 5V). Further, thecontroller 30 switches the power supply 11 from the drive state to thedormant state by outputting a power supply signal of a “LOW” level(e.g., 0V).

The drive state is a state where the power supply 11 is outputting thedrive power to the operating unit 20. In other words, the drive state isa state where the operating unit 20 is enabled to operate. The dormantstate is a state where the power supply 11 is not outputting the drivepower to the operating unit 20. In other words, the dormant state is astate where the operating unit 20 is not enabled to operate. In themeantime, the power supply 11 outputs the control power to thecontroller 30 regardless of whether the power supply 11 is in the drivestate or the dormant state. Further, although the following features arenot shown in any drawings, the input I/F 24 is configured to output anoperation signal according to a user operation, regardless of whetherthe power supply 11 is in the drive state or the dormant state.Moreover, the communication I/F 25 is configured to receive informationfrom external devices regardless of whether the power supply 11 is inthe drive state or the dormant state.

The operating unit 20 performs a printing operation and pre-printingoperations in accordance with instructions from the controller 30. Theprinting operation is an operation of recording an image on a sheet. Thepre-printing operations are operations to be performed in advance of theprinting operation so as to record the image with particular quality onthe sheet in the printing operation. The printing operation and thepre-printing operations will be described in detail below. As shown inFIG. 1B, the operating unit 20 includes a sheet conveyor 21 and an inkdischarger 22.

The sheet conveyor 21 is configured to convey a sheet placed on a feedtray (not shown) in a conveyance direction. For instance, the sheetconveyor 21 includes a plurality of rollers configured to rotate inresponse to receiving a driving force from a motor (not shown). Theplurality of rollers driven by the motor convey the sheet placed on thefeed tray to a position to face the ink discharger 22, and discharge thesheet with an image recorded thereon by the ink discharger 22 outsidethe printer 10. The printer 10 may have a plurality of feed trays.

The ink discharger 22 is configured to move along a main scanningdirection perpendicular to the conveyance direction, in a position wherethe ink discharger 22 faces the sheet being conveyed by the sheetconveyor 21. The ink discharger 22 moves along the main scanningdirection in response to receiving the driving force from the motor (notshown). In a lower surface of the ink discharger 22, a nozzle surface isformed with a plurality of nozzles arranged therein. The ink discharger22 discharges ink droplets from the nozzles.

When ink droplets, which are discharged from the ink discharger 22 whilethe ink discharger 22 is moving along the main scanning direction, landon the sheet, an image is recorded on the sheet. An area on the sheetwithin which ink droplets discharged from the ink discharger 22 duringthe movement of the ink discharger 22 from one side to the other sidealong the main scanning direction are allowed to land may be referred toas a “recording area.” The sheet is sectioned into a plurality ofrecording areas. In a below-mentioned printing operation, the inkdischarger 22 sequentially records an image in each of the plurality ofrecording areas.

For example, the display 23 may include, but is not limited to, a liquidcrystal display, an organic electroluminescence display, and the like.The display 23 has a display screen for displaying various kinds ofinformation.

The input I/F 24 is configured to accept an input operation by the user.Specifically, the input I/F 24 includes operable buttons, and isconfigured to, when one of the buttons is pressed, transmit an operationsignal corresponding to the pressed button to a CPU 31. Further, theinput I/F 24 may include a membranous touch sensor superimposed on thedisplay screen of the display 23.

The touch sensor of the input I/F 24 is configured to output positionalinformation indicating a position on the display screen that the userhas touched. According to aspects of the present disclosure, “touching”may include, but is not limited to, every operation of bringing an inputmedium into touch with the display screen. Further, “touching” mayconceptionally include an operation of bringing the input medium inproximity to the display screen. Namely, in this case, the input mediummay not necessarily be brought into contact with the display screen.Further, the input medium may include, but is not limited to, a fingerof the user, a stylus, a touch pen, and the like.

The communication I/F 25 is configured to communicate with externaldevices via the communication network 100. Namely, the printer 10transmits various kinds of information to external devices via thecommunication I/F 25, and receives various kinds of information fromexternal devices via the communication OF 25. For instance, thecommunication I/F 25 may be an interface for communicating wirelesssignals in accordance with a wireless communication protocol based onWi-Fi (trademark) standards or may be an interface connectable with aLAN cable and/or a USB cable.

The controller 30 is configured to take overall control of the printer10. As shown in FIG. 1B, the controller 30 is a microcomputer includingthe CPU 31, a ROM 32, a RAM 33, an EEPROM 34, and an ASIC 35.

The ROM 32 stores therein computer programs 32A for the CPU 31 tocontrol operations of the printer 10. The RAM 33 is used as a storagearea and/or a work area to temporarily store various kinds of data usedwhen the CPU 31 executes the computer programs 32A stored in the ROM 32.The EEPROM 34 stores therein settings and flags to be held even afterthe printer 10 is turned off. The CPU 31 controls operations of theprinter 10 by executing the computer programs 32A read out from the ROM32. The ASIC 35 is connected with the sheet conveyor 21, the inkdischarger 22, the display 23, the input I/F 24, and the communicationI/F 25. The ASIC 35 is configured to operate each of elements includedin the printer 10 in accordance with instructions from the CPU 31.

The ROM 32, the RAM 33, and the EEPROM 34 may be replaced withcomputer-readable storage media. The computer-readable storage media mayinclude non-transitory media. The non-transitory media may includerecording media such as CD-ROMs and DVD-ROMs other than theaforementioned examples. Further, the non-transitory media may includetangible media. On the other hand, electric signals carrying programsdownloaded from a server on the Internet are computer-readable signalmedia, which are included in computer-readable media but not included inthe non-transitory computer-readable media. The same applies to abelow-mentioned memory 62 of the information processing terminal 50.

The ASIC 35 outputs a drive signal to the motor (not shown). When themotor rotates, the sheet conveyor 21 conveys a sheet, and the inkdischarger 22 moves in the main scanning direction. The ASIC 35 outputsa drive signal to a drive element such as a piezoelectric element. Whenthe drive element vibrates, the ink discharger 22 discharges inkdroplets from the nozzles. The ASIC 32 outputs an image signal to thedisplay 23 and causes the display 23 to display a screen image thereon.The ASIC 35 acquires an operation signal from the input I/F 24. The ASIC35 receives information from an external device via the communicationI/F 25, and transmits information to an external device via thecommunication I/F 25.

As shown in FIG. 2A, the information processing terminal 50 includes adisplay 53, an input I/F 54, a communication I/F 55, a CPU 61, a memory62, and a communication bus 63. The display 53, the input I/F 54, thecommunication I/F 55, and the CPU 61 included in the informationprocessing terminal 50 are configured substantially in the same manneras the display 23, the input I/F 24, the communication I/F 25, and theCPU 31 included in the printer 10, respectively. Therefore, explanationsof the display 53, the input I/F 54, the communication I/F 55, and theCPU 61 will be omitted.

For instance, the information processing terminal 50 may include, but isnot limited to, a mobile phone, a smartphone, a tablet terminal, apersonal computer, and the like. For instance, the input I/F 54 of theinformation processing terminal 50 may include a combination of a mouseand a keyboard.

For instance, the memory 62 may include at least one of a RAM, a ROM, anEEPROM, an HDD, a portable storage medium (e.g., a USB memory)detachably attached to the information processing terminal 50, a bufferof the CPU 61, and a combination including at least two of theabove-cited storage media. The memory 62 includes a program storage area62A and a data storage area 62B. In the program storage area 62A, an OS64, and an edit program 65, and a driver program 66 are installed. Eachprogram stored in the program storage area 62A may be a single programor an aggregate of a plurality of programs. In the data storage area62B, data and/or information necessary for execution of each programstored in the program storage area 62A is stored.

In the illustrative embodiment, Windows (trademark) OS is specificallyexemplified as the OS 64. Nonetheless, the OS 64 may include, but is notlimited to, Android (trademark) OS and iOS (trademark), as well asWindows OS.

The edit program 65 is a program for editing contents data in accordancewith user operations. As exemplified in FIG. 9A, the edit program 65causes the display 53 to display an image represented by specifiedcontents data, accepts user operations to provide an instruction to editthe contents data via the input I/F 54, and edits the contents data inaccordance with the accepted user operations. Exemplary formats of thecontents data may include, but are not limited to, a text format, animage format, a spreadsheet format, and a presentation format. Thecontents data may contain at least one piece of page data. A piece ofpage data represents contents to be recorded on a single sheet.

The driver program 66 is for causing the printer 10 to perform aprinting operation in accordance with a print instruction received fromthe OS 64. In the illustrative embodiment, as shown in FIGS. 5 and 6,the driver program 66 includes a UI module 66A and a rendering module66B. The UI module 66A may be an example of a first module according toaspects of the present disclosure. The rendering module 66B may be anexample of a second module according to aspects of the presentdisclosure. Nonetheless, the driver program 66 may include only a singlemodule or may further include another module. The driver program 66 maybe configured to provide an instruction to perform a printing operationonly to the printer 10 of a single model or to the printers 10 of aplurality of models.

In the driver program 66, a plurality of functions specified by the OS64 are defined. The driver program 66 is configured to cause the printer10 to perform a printing operation in response to the plurality offunctions being invoked in a particular order by the OS 64. In theillustrative embodiment, for instance, the print instruction representsthat a first function “DrvDocumentEvent( )” defined by the UI module 66Ais invoked by the OS 64 with a constant “DOCUMENTEVENT_STARTDOC” as anargument.

As shown in FIG. 2A, the data storage area 62B includes a first area 62Cand a second area 62D. For instance, the first area 62C is a so-calledregistry as a database containing basic information regarding the OS 64and/or setting information for the driver program 66. A referenceprocedure for referring to information stored in the first area 62C isdefined by the OS 64. The OS 64 guarantees the correctness ofinformation referred to in accordance with the reference procedure, butdoes not guarantee the correctness of information referred to withoutfollowing the reference procedure. In contrast, the information storedin the second area 62D may be referred to at arbitrary timing with noneed to follow any reference procedure. In the following description,when an expression such as “a program stores information into the area62B” is used, it generally represents that the information is storedinto the second area 62D. An example of the reference procedure forreferring to the information stored in the first area 62C will bedescribed below.

For example, the edit program 65 secures a particular memory area in thesecond area 62D. Then, the edit program 65 invokes a read functiondefined by the OS 64 with a first pointer “DEVMODE” as an argument. Thefirst pointer “DEVMODE” indicates a head address of the secured memoryarea. The OS 64 makes a copy of information stored in the first area 62Cand stores the copy of the information into the memory area indicated bythe first pointer “DEVMODE.” Thereby, the edit program 65 is allowed toread or edit the information copied from the first area 62C into thememory area indicated by the first pointer “DEVMODE.”

As another example, in the driver program 66, a function (e.g., thefirst function “DrvDocumentEvent( )”) prescribed by the OS 64 isdefined. The OS 64 invokes the first function with a constant“DOCUMRNTEVENT_FIRST” and a second pointer as arguments. The secondpointer indicates a head address of a memory area where the informationstored in the first area 62C is stored or a head address of a memoryarea where information copied from the first area 62C into the secondarea 62D is stored. The driver program 66 is allowed to read or edit theinformation stored in the memory area indicated by the second pointer,as information stored in the first area 62C. In the illustrativeembodiment, an instruction to execute the first function with theconstant “DOCUMENTEVENT_FIRST” and the second pointer specified asarguments may be referred to as a “reference instruction” to permitreference of the information stored in the first area 62C.

For instance, as shown in FIG. 2B, the first area 62C stores thereincondition information. The condition information indicates executionconditions for the printer 10 to execute a printing operation. In theillustrative embodiment, the condition information includes sizeinformation, color information, tray information, sheet information,margin information, a secure flag, and authentication information.Nonetheless, specific examples of the condition information are notlimited to the examples shown in FIG. 2B.

The condition information is stored into the first area 62C at a timingwhen the driver program 66 is installed. Further, the driver program 66is enabled to change the condition information stored in the first area62C in accordance with a user instruction. More specifically, the driverprogram 66 reads the condition information out of the first area 62C inaccordance with the reference instruction from the OS 64, and displaysthe read condition information on the display 53. Subsequently, inresponse to acceptance of a user operation to change the conditioninformation via the input I/F 54, the driver program 66 overwrites thecondition information stored in the first area 62C with the changed one.

The condition information contains public information and privateinformation. The public information is editable by the driver program 66and other programs (e.g., the edit program 65) installed in theinformation processing terminal 50. The private information is notallowed to be edited by any other programs but the driver program 66installed in the information processing terminal 50. In other words, theprivate information is editable only by the driver program 66. Asexemplified in FIG. 2B, the size information and the color informationare included in the public information. The tray information, the sheetinformation, the margin information, the secure flag, and theauthentication information are included in the private information.

The size information indicates the size (e.g., “A4” or “B5”) of a sheetto be used for the printing operation. The color information indicatesthe number of inks (e.g., “color” or “monochrome”) to be used for theprinting operation. The tray information indicates a particular one(e.g., “tray 1” or “tray 2”) of the plurality of feed trays of theprinter 10. The sheet information indicates a type (e.g., “plain paper”or “glossy paper”) of the sheet to be used for the printing operation.The margin information indicates whether to form a particular width ofmargin at outer edge portions of the sheet in the printing operation(e.g., “margined printing” or “margin-less printing”).

The secure flag indicates whether to cause the printer 10 to performso-called secure printing. For the secure flag, a first value “ON” or asecond value “OFF” is set. The first value “ON” corresponds to aninstruction to execute the secure printing. The second value “OFF”corresponds to an instruction not to execute the secure printing. Theauthentication information is a PIN (“PIN” is an abbreviated form ofPersonal Identification Number) specified by the user. A valid value isset for the authentication information only when the first value “ON” isset for the secure flag.

The secure printing is a printing operation to be started in response tovalid authentication information being input as a trigger. Namely, theprinter 10 does not start the printing operation immediately uponreceipt of print instruction information for instructing the printer toexecute the secure printing, but starts the printing operation inresponse to acceptance of an input of the authentication information viathe input I/F 24. The secure flag and the authentication information maybe examples of trigger information according to aspects of the presentdisclosure. The trigger information represents a trigger for causing theprinter 10 to start the printing operation after receiving the printinstruction information.

A data structure of the public information is defined by the OS 61. Onlyexemplary items of the public information are shown in FIG. 2B. On theother hand, a data structure of the private information may be differentbetween the plurality of printers 10 or between a plurality of driverprograms 66. Hereinafter, an execution condition represented by thepublic information may be referred to as a “public condition,” and anexecution condition represented by the private information may bereferred to as a “private condition.”

The data storage area 62B may include one or more queue areas. In theillustrative embodiment, as shown in FIG. 3A, the data storage area 62Bincludes a plurality of queue areas 67A, 67B, and 67C. The queue areas67A to 67C are memory areas where information to be transmitted to theprinters 10A and 10B is stored. Each of the queue areas 67A to 67C isassociated with a printer port specifically for one of the printers 10Aand 10B. In the illustrative embodiment, information to be transmittedto the printer 10A is stored in the queue areas 67A and 67B. Inaddition, information to be transmitted to the printer 10B is stored inthe queue area 67C. Further, for instance, the OS 64 specifies, for thedriver program 66, one of the queue areas 67A to 67C to storeinformation as an argument of a function. Hereinafter, a queue area ofthe queue areas 67A to 67C that is specified for the driver program 66may be referred to as a “specified queue.”

In the queue areas 67A to 67C, information for instructing the printers10A and 10B to execute various kinds of operations is stored. Morespecifically, in the queue areas 67A to 67C, print instructioninformation shown in FIG. 3B, preparation instruction information shownin FIG. 3C, and status transmission instruction information (not shown)are stored. The print instruction information is for instructing theprinters 10A and 10B to execute a printing operation. The printinstruction information includes feeding instruction information, cueinginstruction information, conveyance instruction information, inkdischarge instruction information, and sheet discharge instructioninformation. The preparation instruction information is for instructingthe printers 10A and 10B to execute the pre-printing operations. Thestatus transmission instruction information (not shown) is forinstructing the printers 10A and 10B to transmit status informationshowing statuses of the printers 10A and 10B. Nonetheless, specificexamples of the information stored in the queue areas 67A to 67C are notlimited to the aforementioned kinds of information.

The queue area 67A is an area in which one or more pieces of informationto be transmitted by the OS 64 to the printer 10A via the communicationI/F 55 are storable with a transmission sequence specified therefor. Inother words, the OS 64 checks at particular timing whether instructioninformation is stored in the queue area 67A. In response to determiningthat instruction information is stored in the queue area 67A, the OS 64transmits the instruction information to a printer 10 via thecommunication OF 55 in a previously-specified transmission sequence, anddeletes the transmitted instruction information from the queue area 67A.The same applies to the queue areas 67B and 67C.

More specifically, as shown in FIGS. 3B and 3C, each piece of theinstruction information stored in the queue area 67A has a correspondingjob ID added thereto. Each job ID is information for identifyinginstruction information to be sequentially transmitted, from among theinstruction information stored in the queue area 67A. Namely, there maybe a case where the same job ID is added to a plurality of pieces ofinstruction information. The OS 64 transmits the plurality of pieces ofinstruction information with the same job ID added thereto, in thesequence in which the plurality of pieces of instruction information arestored in the queue area 67A. Further, the OS 64 transmits a pluralityof pieces of instruction information with different job IDs addedthereto, in a sequence in which the job IDs have been generated.

For instance, in the queue area 67A shown in FIG. 3B, the OS 64 firsttransmits the conveyance instruction information, the ink dischargeinstruction information, and the sheet discharge instructioninformation, which have a job ID “contents data A” added thereto, in theaforementioned sequence. Subsequently, the OS 64 transmits the feedinginstruction information and the, cueing instruction information, whichhave a job ID “contents data B” added thereto, in this sequence. In thiscase, even though the feeding instruction information with the job ID“contents data B” added has been written into the queue area 67A earlierthan the sheet discharge instruction information with the job ID“contents data A” added, the sheet discharge instruction information istransmitted earlier than the feeding instruction information. Namely, aplurality of pieces of instruction information with the same job IDadded are sequentially transmitted in a sequence in which the pluralityof pieces of instruction information have been written.

[Operations of System]

Referring to FIGS. 4 to 8, operations of the printing system 1 of theillustrative embodiment will be described.

In the present disclosure, basically, flowcharts show processes to beexecuted by the CPU 31 or the CPU 61 in accordance with instructionsdescribed in programs. Namely, in the following description, processessuch as “determining,” “extracting,” “selecting,” and “controlling”represent processes by the CPU 31 or the CPU 61. Processes by the CPU 61may include hardware control via the OS 64. Further, in the presentdisclosure, “data” may be expressed by computer-readable bit string.Furthermore, a plurality of pieces of data that have substantially thesame contents but have respective different formats may be treated asthe same data. The same applies to “information” in the presentdisclosure.

FIGS. 4 to 8 (especially, FIGS. 5 and 6) show processes that areparticularly important in the present disclosure, whereas otherprocesses to be executed between the particularly important processesare omitted. More specifically, the OS 64 may invoke unshown functionsother than the functions shown in FIGS. 5 and 6. Further, in thefollowing description, only typical arguments will be described amongarguments that may be specified when each function is invoked, but otherarguments may be specified. Further, in the following description, amongprocesses defined by each invoked function, particularly importantprocesses will be described, whereas the other processes may not bedescribed.

Firstly, the edit program 65 of the information processing terminal 50causes the display 53 to display an edit screen as shown in FIG. 9A. Theedit screen includes a read instruction icon 111, a storage instructionicon 112, a print instruction icon 113, and an edited image 114. Theedit program 65 accepts a user operation to the edit screen, via theinput I/F 54.

The read instruction icon 111 corresponds to an instruction to readcontents data stored in the data storage area 62B. The storageinstruction icon 112 corresponds to an instruction to store contentsdata showing the edited image 114 into the data storage area 62B. Theprint instruction icon 113 corresponds to an instruction to perform aprinting operation based on the contents data. The edited image 114 isan image represented by page data included in the contents data. Theedit program 65 of the illustrative embodiment displays the edited image114 on the edit screen in such a manner that a longitudinal direction ofthe edited image 114 is along a vertical direction of the display 53.

In response to acceptance of a user operation to specify the readinstruction icon 111 via the input I/F 54, the edit program 65 causesthe display 53 to display a list of readable-format contents data. Next,the edit program 65 reads, out of the data storage area 62B, contentsdata specified via the input IX 54. Then, the edit program 65 causes thedisplay 53 to display the edited image 114 represented by the readcontents data. In response to acceptance of a user operation to providean instruction to edit the edited image 114 via the input I/F 54, theedit program 65 edits the contents data. In response to acceptance of auser operation to specify the storage instruction icon 112 via the inputI/F 54, the edit program 65 stores the edited contents data into thedata storage area 62B.

In response to acceptance of a user operation to specify the printinstruction icon 113 via the input I/F 54, the edit program 65temporarily stores a data ID, which identifies the contents data beingedited, into the data storage area 62B. Hereinafter, thetemporarily-stored data ID may be referred to as a “specified data ID.”The contents data identified by the specified data ID may be referred toas “specified contents data.” In the illustrative embodiment, aspecified data ID “contents data C” is temporarily stored. Then, theedit program 65 performs a print instruction process. The printinstruction process is for instructing the printer 10 to perform aprinting operation based on the specified contents data. The printinstruction process will be described with reference to FIG. 4.

[Print Instruction Process]

Firstly, the edit program 65 secures a memory area for storing thecondition information, in the second area 62D of the data storage area62B. Further, the edit program 65 invokes the read function defined bythe OS 64 with the first pointer “DEVMODE” specified as an argument. Thefirst pointer indicates a head address of the secured memory area.Thereby, the condition information stored in the first area 62C iscopied by the OS 64 into the memory area indicated by the first pointer“DEVMODE.” Hereinafter, the condition information stored in the memoryarea secured in the second area 62D may be referred to as “editedcondition information.”

Subsequently, the edit program 65 causes the display 53 to display astandard setting screen as shown in FIG. 10 (S11). The standard settingscreen includes a pulldown menu 121, radio buttons 122, 123, 124, and125, an “OK” icon 126, and a “CANCEL” icon 127. Then, the edit program65 accepts a user operation to the standard setting screen, via theinput I/F 54 (S12).

The pulldown menu 121 corresponds to an instruction to specify a printer10 that is caused to perform a printing operation. The radio buttons 122and 123 correspond to setting values “A4” and “B5” that are settable forthe size information. The radio buttons 124 and 125 correspond tosetting values “color” and “monochrome” that are settable for the colorinformation. In the standard setting screen as first displayed, thestates of the radio buttons 122 to 125 correspond to setting values setfor the edited condition information. The “OK” icon 126 corresponds toan instruction to cause the printer 10 to perform the printing operationbased on the specified contents data in accordance with executionconditions indicated by the edited condition information. The “CANCEL”icon 127 corresponds to an instruction to terminate the printinstruction process.

In response to acceptance of a user operation to the pulldown menu 121via the input I/F 54, the edit program 65 temporarily stores a printerID (hereinafter referred to as a “specified printer ID”) identifying thespecified printer 10 into the data storage area 62B. In the illustrativeembodiment, the printer 10A identified by a printer ID “MFP-A” isspecified. Further, in response to acceptance of a user operation to theradio buttons 122 to 125 via the input I/F 54 (S12: Setting Change), theedit program 65 updates the edited condition information with a settingvalue corresponding to a specified one of the radio buttons 122 to 125(S13).

Then, the edit program 65 causes the display 53 to display the standardsetting screen in which the user operations have been reflected (S11).Namely, the edit program 65 is allowed to accept, via the standardsetting screen, designation of the printer 10 that is caused to performthe printing operation and changes of the public information included inthe edited condition information. Meanwhile, the edit program 65 isunable to accept any change of the private information included in theedited condition information.

In response to accepting designation of the “OK” icon 126 via the inputI/F 54 (S12: “OK” Icon), the edit program 65 performs a StartDoc process(S14). Meanwhile, although the following operation is not shown in FIG.4, the edit program 65 terminates the print instruction process inresponse to accepting designation of the “CANCEL” icon 127 via the inputI/F 54. The StartDoc process is preprocessing for causing the printer 10to perform the printing operation. The StartDoc process will bedescribed below with reference to FIG. 5.

[StartDoc Process]

Firstly, the edit program 65 invokes a function “StartDoc( )” defined bythe OS 64 (S21). Hereinafter, a function invoked in a step Sxx may bereferred to as a “function Sxx.” For example, the function “StartDoc( )”invoked in S21 may be referred to as a “function S21.” The edit program65 specifies, as arguments of the function S21, the specified data ID“contents data C,” the specified printer ID “MFP-A,” and the firstpointer. In response to the function S21 being invoked, the OS 64invokes various functions defined by the driver program 66 in aparticular order. Further, the driver program 66 performs processesdefined by the functions invoked by the OS 64. Detailed explanations ofthe processes will be omitted.

The OS 64, from which the function S21 has been invoked by the editprogram 65, invokes the first function “DrvDocumentEvent( )” (S22). TheOS 64 specifies the constant “DOCUMENTEVENT_FIRST” and the secondpointer as arguments of the function S22. The second pointer indicatesthe head address of the first area 62C where the condition informationis stored or the head address of the memory area where the conditioninformation read out by the OS 64 from the first area 62C is stored.

Subsequently, in response to the function S22 being invoked, the UImodule 66A reads out the condition information stored in the memory areaindicated by the second pointer, and stores the read conditioninformation into the second area 62D (S23), and then terminates thefunction S22 (S24). Namely, in S23, the UI module 66A stores thecondition information read out from the first area 62C into the secondarea 62D. The process in S22 executed by the driver program 66 may be anexample of a reference accepting process according to aspects of thepresent disclosure. The process in S23 executed by the driver program 66may be an example of a storing process according to aspects of thepresent disclosure.

Hereinafter, the condition information stored into the second area 62Din S23 may be referred to as “retracted condition information.” Theedited condition information and the retracted condition information mayhave the same private information but may have different publicinformation. More specifically, when the edited condition information isupdated in S13, the public information is different between the editedcondition information and the retracted condition information.

Further, the OS 64, from which the function S21 has been invoked,invokes the first function “DrvDocumentEvent( )” (S25). The OS 64specifies the constant “DOCUMENTEVENT_STARTDOC” as an argument of thefunction S25. The process in S25 is performed later than the process inS22. Next, the UI module 66A, from which the function S25 has beeninvoked, performs a preparation instruction process (S26). Thepreparation instruction process is a process to instruct the printer 10to perform the pre-printing operation. The process in S25 executed bythe UI module 66A may be an example of a print instruction acceptingprocess according to aspects of the present disclosure. The preparationinstruction process will be described with reference to FIG. 7A.

An instruction to cause the printer 10 to perform a pre-printingoperation is preferred to be provided when the print instructioninformation is certain to be transmitted to the printer 10. After the“OK” icon 126 is designated on the standard setting screen, the printinstruction information is transmitted to the printer 10 without a userinstruction being received via the input I/F 54. Namely, the designationof the “OK” icon 126 may be regarded as a user's intention to instructthe printer 10 to perform the printing operation. Thus, the UI module66A is preferred to perform the preparation instruction process afterthe “OK” icon 126 is designated on the standard setting screen.

More specifically, in response to the “OK” icon 126 on the standardsetting screen being designated via the input I/F 54 (S12: “OK” Icon),the edit program 65 invokes the function S21. The OS 64 may invoke afunction defined by the UI module 66A even at timing other than a momentat which the function S21 is invoked (e.g., even at timing to refer toinformation on a printer driver). However, the OS 64 invokes thefunction S25 only when the function S21 is invoked. Thus, in theillustrative embodiment, the UI module 66A performs the preparationinstruction process in response to the function S21 being invoked.

[Preparation Instruction Process]

Firstly, the UI module 66A determines whether particular instructioninformation is stored in the queue area 67A that is a specified queuefor the printer 10A (S61). The specified queue is designated as anargument of a function invoked by the OS 64. Further, the UI module 66Adetermines whether particular instruction information is stored in thequeue area 67B that is another queue area into which information to besent to the printer 10A is stored (S62). It is noted that the UI module66A also makes the determinations in S61 and S62 with respect toinformation written into the queue areas 67A and 67B by programs otherthan the driver program 66.

The particular instruction information represents an instruction tooperate the operating unit 20 of the printer 10. In the illustrativeembodiment, the particular instruction information includes thepreparation instruction information or the print instructioninformation, but does not include the status transmission instructioninformation. Namely, the particular instruction information is writteninto the queue areas 67A to 67C when below-mentioned processes in S45,S48, S53, and S64 are executed by the driver program 66 or otherprograms.

Subsequently, in response to determining that particular instructioninformation is not stored in any of the queue areas 67A and 67B (S61:No, and S62: No), the UI module 66A reads out the retracted conditioninformation stored in the second area 62D, and determines which value isset for the secure flag included in the retracted condition information(S63). In response to determining that the second value “OFF” is set forthe secure flag (S63: OFF), the UI module 66A transmits the preparationinstruction information to the printer 10A via the communication I/F 55(S64).

More specifically, in S64, the UI nodule 66A generates a job ID“_preparation_.” The job ID “_preparation_” may be an example ofgeneration identification information according to aspects of thepresent disclosure. The UI module 66A generates the job ID so as toprevent the job ID from being identical to character strings that maybecome the specified data ID. This is because the specified data ID isused as a job ID in a below-mentioned step S29. Then, as shown in FIG.3C, the UI module 66A stores, into the queue area 67A, the preparationinstruction information to which the generated job ID “_preparation_” isadded (S64). The preparation instruction information stored in the queue67A is transmitted by the OS 64 to the printer 10A.

Meanwhile, in response to determining that particular instructioninformation is stored in the queue area 67A (S61: Yes), or determiningthat particular instruction information is stored in the queue area 67B(S61: No, and S62: Yes), or determining that the first value “ON” is setfor the secure flag (S61: No, S62: No, and S63: ON), the UI module 66Aterminates the preparation instruction process without executing S64.Namely, in the steps S61 to S63, the UI module 66A determines whether toprovide the preparation instruction information to cause the printer 10Ato start the pre-printing operations. In other words, the UI module 66Adetermines whether to transmit the preparation instruction informationin advance of the below-mentioned print instruction information. Theprocesses executed in S61 to S63 may be an example of a determiningprocess or a first determining process according to aspects of thepresent disclosure.

Referring back to FIG. 5, the UI module 66A terminates the function S25(S27). Next, in response to the function S25 being terminated (S27), theOS 64 invokes a second function “DrvStartDoc( )” defined by therendering module 66B (S28). The OS 64 specifies the specified data ID“contents data C” specified as an argument of the function S21 and thefirst pointer, as arguments of the function S28.

Subsequently, in response to the function S28 being invoked, therendering module 66B generates a print job with the specified data ID“contents data C,” which has been specified as an argument of thefunction S28, as a job ID in the queue area 67A that is the specifiedqueue (S29). Then, the rendering module 66B terminates the function S28(S30). To various kinds of instruction information written into thequeue 67A in below-mentioned steps S45, S48, and S53, the job ID“contents data C” is added. In this regard, however, the print jobidentified by the job ID “contents data C” does not include anyinstruction information at this point of time. The specified data ID,which is specified as an argument of the function S28, may be an exampleof specified identification information according to aspects of thepresent disclosure.

Subsequently, in response to the function S28 being terminated (S30),the OS 64 invokes the first function “DrvDocumentEvent( )” (S31). The OS64 specifies the constant “DOCUMENTEVENT_STARTDOCPOST” as an argument ofthe function S31. Next, in response to the function S31 being invoked,the UI module 66A performs an instruction cancellation process (S32).The instruction cancellation process will be described below withreference to FIG. 7B.

The UI module 66A determines whether the preparation instructioninformation temporarily stored in S64 with the job ID “preparation_”added thereto is stored in the queue area 67A (S66). Exemplary caseswhere a positive determination is made in S66 (S66: Yes) may include,but are not limited to, a case where the communication I/F 55 is notconnected with the communication network 100 and a case where theprinter 10A is powered off.

In response to determining that the preparation instruction informationis stored in the queue area 67A (S66: Yes), the UI module 66A deletesthe preparation instruction information from the queue area 67A (S67).Meanwhile, in response to determining that the preparation instructioninformation is not stored in the queue area 67A (S66: No), the UI module66A terminates the instruction cancellation process without executingS67. The process in S66 may be an example of a second determiningprocess according to aspects of the present disclosure. The process inS67 may be an example of a deleting process according to aspects of thepresent disclosure.

Referring back to FIG. 5, the UI module 66A terminates the function S31(S33). Further, in response to the function S31 being terminated, the OS64 terminates the function S21 (S34). Thereby, the StartDoc process isterminated. Subsequent to the function S21, referring back to FIG. 4,the edit program 65 performs a StartPage process (S15). The StartPageprocess is a process of generating the print instruction information.The StartPage process is performed for each piece of page data containedin the specified contents data. For instance, each piece of page data asa processing target of the StartPage process is specified as an argumentof a function, by the edit program 65. Referring to FIG. 6, theStartPage process will be described below.

[StartPage Process]

The edit program 65 invokes a function “StartPage” defined by the OS 64(S41). Subsequently, the OS 64 invokes the first function“DrvDocumentEvent( )” (S42). The OS 64 specifies a constant“DOCUMENTEVENT_STARTPAGE” as an argument of the function S42. Next, theUI module 66A performs a particular process and then terminates thefunction S42 (S43).

Subsequently, in response to the function S42 being terminated, the OS64 invokes a function “DrvStartPage( )” defined by the rendering module66B (S44). Next, in response to the function S44 being invoked, therendering module 66B generates header instruction information and storesthe generated header instruction information into the queue area 67A(S45). The header instruction information is print instructioninformation for indicating operations to be executed before recording animage on a single sheet, of a series of operations for recording theimage on the single sheet. In the illustrative embodiment, the headerinstruction information includes the feeding instruction information andthe cueing instruction information.

Then, the rendering module 66B terminates the function S44 (S46).Subsequently, in response to the function S44 being terminated (S46),the OS 64 terminates the function S41 (S47). Next, in response to thefunction S41 being terminated, the edit program 65 invokes a drawingfunction defined by the OS 64. Further, in response to the drawingfunction being invoked by the edit program 65, the OS 64 invokes adrawing function defined by the rendering module 66B.

Then, the plurality of drawing functions are performed in a particularorder, and thereby the rendering module 66B generates print data fromthe page data. For instance, the print data may include, but is notlimited to, raster data generated by rasterizing page data. Further, therendering module 66B generates print instruction information thatprovides an instruction to perform a printing operation based on theprint data, and stores the generated print instruction information intothe queue area 67A (S48). As will be described later, in S48, the inkdischarge instruction information and the feeding instructioninformation are generated. The process of generating the print data inS48 may be an example of a generating process according to aspects ofthe present disclosure. Hereinafter, a detailed explanation will beprovided of a process of the rendering module 66B generating the printinstruction information.

Firstly, at particular timing since S28, the rendering module 66Binforms the OS 64 of unit information. The unit information represents aunit of data delivered as an object to be rasterized. For instance,“page” or “band” may be set for the unit information. The “page”provides an instruction to deliver the data to be rasterized on thebasis of a unit of page data. The “band” provides an instruction todeliver the data to be rasterized on the basis of a unit of band data. Apiece of band data is a part of a piece of page data. More specifically,a piece of page data is sectioned into a plurality of pieces of banddata adjoining in a longitudinal direction of the corresponding page.Further, an image represented by a piece of band data has a larger areathan an area of an image represented by a piece of below-mentioned passdata.

For instance, in response to a specific size (e.g., A4) being set forthe size information of the edited condition information, the renderingmodule 66B informs the OS 64 of the unit information “page.” A sheet ofthe specific size is conveyed by the sheet conveyor 21 of the printer10, in a state where a short direction of the sheet is coincident withthe conveyance direction. Further, on the sheet of the specific size, animage is recorded by the ink discharger 22 of the printer 10 movingalong a longitudinal direction of the sheet.

Meanwhile, for instance, in response to a non-specific size (e.g., asize other than A4) being set for the size information of the editedcondition information, the rendering module 66B informs of the unitinformation “band.” A sheet of the non-specific size is conveyed by thesheet conveyor 21 of the printer 10, in a state where a longitudinaldirection of the sheet is coincident with the conveyance direction.Further, on the sheet of the non-specific size, an image is recorded bythe ink discharger 22 of the printer 10 moving along a short directionof the sheet.

It is noted that the unit information may be informed of, e.g., as areturn value of a function invoked by the OS 64. Further, for instance,the specific size may be different between the printers 10A and 10B. Thespecific size for each of the printers 10A and 10B may be written in asource cord of the driver program 66. Alternatively, the driver program66 may inquire of the printers 10A and 10B about the specific size(s)for the printers 10A and 10B.

The OS 64, which has acquired the unit information “page,” delivers pagedata to the rendering module 66B in S48. The rendering module 66Brasterizes the whole of the page data received from the OS 64 andgenerates raster data. Subsequently, the rendering module 66B rotatesthe raster data developed into the data storage area 62B, by 90 degreesin the data storage area 62B. Next, the rendering module 66B extracts aplurality of pieces of pass data each representing an image to berecorded in one recording area, from the raster data rotated by 90degrees. Then, the rendering module 66B generates ink dischargeinstruction information and conveyance instruction information based oneach piece of the extracted pass data, and writes, in series into thequeue area 67A, the generated ink discharge instruction information andthe generated conveyance instruction information. The rendering module66B sequentially performs, for every piece of the pass data included inthe page data, extracting the pass data, generating the ink dischargeinstruction information and the conveyance instruction information, andwriting the generated information into the queue area 67A.

Meanwhile, the OS 64, which has acquired the unit information “band,”delivers one piece of the plurality of pieces of band data included inthe page data to the rendering module 66B. The rendering module 66Brasterizes the whole of the band data received from the OS 64 andgenerates raster data. Subsequently, the rendering module 66B generatesink discharge instruction information and conveyance instructioninformation based on the raster data, and writes into the queue area 67Athe generated ink discharge instruction information and the generatedconveyance instruction information. Then, for every piece of the banddata included in the page data, the aforementioned process is repeatedlyperformed.

Namely, in the case of the unit information “page,” after the whole ofthe page data has been converted into the raster data, and the rasterdata has been rotated by 90 degrees in the data storage area 62B, thefirst piece of the ink discharge instruction information is written intothe queue area 67A. Meanwhile, in the case of the unit information“band,” after the whole of the band data that is a part of the page datahas been converted into the raster data, the first piece of the inkdischarge instruction information is written into the queue area 67A.That is, a period of time from when the “OK” icon 126 is specified towhen the first ink discharge instruction information is written into thequeue area 67A in the case of the unit information “page” is longer thanthat in the case of the unit information “band.”

Subsequently, in response to the process in S48 for the specified pagedata being completed, the edit program 65 invokes a function “EndPage()” defined by the OS 64 (S49). Next, the OS 64 invokes the firstfunction “DrvDocumentEventO” (S50). The OS 64 specifies a constant“DOCUMENTEVENT_ENDPAGE” as an argument of the function S50. Next, the UImodule 66A performs a particular process and terminates the function S50(S51).

Subsequently, in response to the function S50 being terminated (S51),the OS 64 invokes a function “DrvEndPage( )” defined by the renderingmodule 66B (S52). Next, in response to the function S52 being invoked,the rendering module 66B generates sheet discharge instructioninformation, and stores the generated sheet discharge instructioninformation into the queue area 67A (S53).

A plurality of pieces of print instruction information written into thequeue area 67A in the StartPage process shown in FIG. 6 are transmittedby the OS 64 to the printer 10A in the written sequence. Typically, theOS 64 transmits the feeding instruction information, the cueinginstruction information, the ink discharge instruction information, theconveyance instruction information, the ink discharge instructioninformation, . . . , and the sheet discharge instruction information tothe printer 10A in the above sequence via the communication OF 55. Theprocess in S45, the process of storing the print instruction informationinto the queue area 67A in S48, and the process in S53 may be examplesof a print instruction process according to aspects of the presentdisclosure.

Then, the rendering module 66 terminates the function S52 (S54).Subsequently, in response to the function S52 being terminated (S54),the OS 64 terminates the function S49 (S55). Thereby, the StartPageprocess is terminated. Next, referring back to FIG. 4, the edit program65 determines whether the StartPage process has been performed for everypiece of the page data included in the specified contents data (S16). Inresponse to determining that there is an unprocessed piece of page datafor which the StartPage process has not been performed (S16: Yes), theedit program 65 performs the StartPage process for the unprocessed pieceof page data (S15).

Meanwhile, in response to determining that the StartPage process hasbeen performed for every piece of the page data included in thespecified contents data (S16: No), the edit program 65 performs anEndDoc process (S17). The EndDoc process is post-processing to beexecuted after causing the printer 10 to perform a printing operation.The EndDoc process is a known process to be started in response to afunction “EndDoc( )” defined by the OS 64 being invoked by the editprogram 65. Therefore, a detailed explanation of the EndDoc process willbe omitted.

[Print Process]

Subsequently, referring to FIG. 8, a print process to be performed bythe printer 10 will be described. The printer 10 performs the printprocess in response to receiving the preparation instruction informationor the print instruction information from the information processingterminal 50 via the communication I/F 25. Each of the followingprocesses may be performed by the CPU 31 executing one or more programs32A stored in the ROM 32 or may be performed by one or more hardwarecircuits included in the controller 30.

The controller 30 of the printer 10 receives the preparation instructioninformation from the information processing terminal 50 via thecommunication I/F 25 (S71: Preparation Instruction). The process ofreceiving the preparation instruction information in S71 may be anexample of a preparation instruction receiving process according toaspects of the present disclosure. In response to receiving thepreparation instruction information (S71: Preparation Instruction), thecontroller 30 determines whether the power supply 11 is in a dormantstate (S72). For example, the controller 30 may store flag informationindicating a current state of the power supply 11 in the RAM 33 or theEEPROM 34, and may make the determination in S72 based on the flaginformation. Nonetheless, the method for making the determination in S72is not limited to the above example. The controller 30 may make thedetermination in S72 in other methods.

Subsequently, in response to determining that the power supply 11 is inthe dormant state (S72: Yes), the controller 30 switches the state ofthe power supply 11 from the dormant state to a drive state (S73). Morespecifically, the controller 30 outputs a power supply signal of a HIGHlevel to the power supply 11. Meanwhile, in response to determining thatthe power supply 11 is in the drive state (S72: No), the controller 30skips S73. The process in S72 may be an example of a state determiningprocess according to aspects of the present disclosure. The process inS73 may be an example of a switching process according to aspects of thepresent disclosure.

Subsequently, the controller 30 provides a notification that thepreparation instruction information has been received, via the display23 (S74). For example, the controller 30 may provide the notification bylighting a backlight of the display 23 only for a particular period oftime. The process in S74 may be an example of a notification processaccording to aspects of the present disclosure. The display 23 may be anexample of a notification provider according to aspects of the presentdisclosure. Nonetheless, the method for providing the notification isnot limited to the above example. The controller 30 may provide thenotification in other methods, e.g., by lighting an LED lamp (not shown)or by outputting a sound from a speaker (not shown).

Subsequently, the controller 30 controls the operating unit 20 toperform a pre-printing process (S75). The pre-printing process is aprocess to be performed by the printer 10 in advance of the printingoperation so as to record an image with particular quality on a sheet inthe printing operation. The pre-printing process includes a plurality ofpre-printing operations. For instance, the pre-printing process mayinclude some or all of an uncapping process, a flushing process, and avoltage boosting process. The uncapping process is a process ofseparating a cap for covering the nozzle surface away from the inkdischarger 22. The flushing process is a process of causing the inkdischarger 22 to discharge ink droplets outside an area through whichsheets pass. The voltage boosting process is a process of boosting asupply voltage of the power supply 11 to a target voltage.

The controller 30 stores flag information corresponding to each of theplurality of pre-printing operations in the RAM 33 or the EEPROM 34. Ata point of time to start the pre-printing operation, a second value“OFF” representing that the corresponding pre-printing operation has notbeen completed is set for every piece of the flag information. Then, inresponse to one of the pre-printing operations being completed, thecontroller 30 sets, for the corresponding piece of the flag information,a first value “ON” representing that the pre-printing operation has beencompleted.

Subsequently, the controller 30 receives the print instructioninformation from the information processing terminal 50 via thecommunication I/F 25 (S71: Print Instruction). Namely, the controller 30receives the feeding instruction information, the cueing instructioninformation, the ink discharge instruction information, the conveyanceinstruction information, the ink discharge instruction information, . .. , and the sheet discharge instruction information in this sequencefrom the information processing terminal 50 via the communication I/F25. The process of receiving the print instruction information in S71may be an example of a print instruction receiving process according toaspects of the present disclosure.

The feeding instruction information is for instructing the sheetconveyor 21 to feed a sheet from a feed tray identified by the trayinformation of the edited condition information. The cueing instructioninformation is for instructing the sheet conveyor 21 to convey the fedsheet to a position where a first recording area of the sheet is opposedto the ink discharger 22. The ink discharge instruction informationindicates ink discharge timing for the ink discharger 22 to dischargeink droplets to record an image on the recording area of the sheetopposed to the ink discharger 22. The conveyance instruction informationis for instructing the sheet conveyor 21 to convey the sheet to aposition where a next recording area for an image to be subsequentlyrecorded is opposed to the ink discharger 22. The sheet dischargeinstruction information is for instructing the sheet conveyor 21 todischarge the sheet with images recorded thereon.

Subsequently, the controller 30 determines which setting value is setfor the secure flag included in the print instruction information (S76).Next, in response to determining that the second value “OFF” is set forthe secure flag (S76: OFF), the controller 30 determines whether thepre-printing process has been terminated (S77). More specifically, inresponse to the first value “ON” being set for every piece of the flaginformation associated with the pre-printing process, the controller 30determines that the pre-printing process has been terminated (S77: Yes).Meanwhile, in response to the second value “OFF” being set for at leastone piece of the flag information associated with the pre-printingprocess, the controller 30 determines that the pre-printing process hasnot been terminated (S77: No).

A receipt time interval between the preparation instruction informationand the print instruction information varies, e.g., depending on athroughput in S48 or a condition of the communication network 100.Namely, the pre-printing process started in response to receipt of thepreparation instruction information as a trigger may not have beenterminated at a point of time when the print instruction information isreceived. Thus, in response to determining that the pre-printing processhas not been terminated (S77: No), the controller 30 waits in a standbystate until the pre-printing process is terminated, without executingthe subsequent process. Then, in response to determining that thepre-printing process has been terminated (S77: Yes), the controller 30controls the operating unit 20 to perform a printing operation accordingto the received print instruction information (S78-S82). The processesexecuted in S78 to S82 may be an example of a print process according toaspects of the present disclosure.

In the printing operation, firstly, the controller 30 performs a feedingprocess according to the received feeding instruction information and acueing process according to the received cueing instruction information(S78). Namely, the controller 30 controls the sheet conveyor 21 to feeda sheet placed on a feed tray identified by the feeding instructioninformation. Next, the controller 30 controls the sheet conveyor 21 toconvey the sheet fed in the feeding process to a position indicated bythe cueing instruction information. It is noted that the feeding processand the cueing process may be performed in the pre-printing process.

Subsequently, the controller 30 performs an ink discharge process inaccordance with the received ink discharge instruction information(S79). Namely, the controller 30 moves the ink discharger 22 from oneside to the other side in the main scanning direction, and controls theink discharger 22 to discharge ink droplets at ink discharge timingindicated by the ink discharge instruction information. Next, thecontroller 30 determines whether an image has been recorded in everyrecording area of the sheet (S80). In other words, the controller 30determines which one of the conveyance instruction information and thesheet discharge instruction information has been received next to theink discharge instruction information used in the last step S79.

Subsequently, in response to determining that an image has not beenrecorded in every recording area of the sheet (S80: No), the controller30 performs a conveyance process according to the received conveyanceinstruction information (S81). Namely, the controller 30 controls thesheet conveyor 21 to convey the sheet only over a conveyance distanceindicated by the conveyance instruction information. The controller 30repeatedly performs the steps S79 to S81 until an image has beenrecorded in every recording area of the sheet (S80: No).

Then, in response to determining that an image has been recorded inevery recording area of the sheet (S80: Yes), the controller 30 performsa sheet discharge process according to the received sheet dischargeinstruction information (S82). Namely, the controller 30 controls thesheet conveyor 21 to discharge the sheet with the images recordedthereon out of the printer 10. It is noted that, when the specifiedcontents data includes a plurality of pieces of page data, thecontroller 30 repeatedly performs the steps S78 to S82. Thereby, theimages represented by the print data generated in S48 (i.e., the imagesrepresented by the specified contents data) are recorded on the sheets.

Meanwhile, in response to determining that the first value “ON” is setfor the secure flag (S76: ON), the controller 30 accepts an input ofauthentication information via the input I/F 24. Then, the controller 30determines whether the authentication information input via the inputI/F 24 is identical to authentication information included in the printinstruction information (S83). Subsequently, in response to determiningthat the authentication information input via the input I/F 24 isidentical to the authentication information included in the printinstruction information (S83: Yes), the controller 30 performs thepre-printing process (S84). Then, in response to the pre-printingprocess being terminated, the controller 30 performs S78 and thefollowing steps. Meanwhile, in response to determining that theauthentication information input via the input I/F 24 is not identicalto the authentication information included in the print instructioninformation (S83: No), the controller 30 prompts the user to again inputauthentication information via the input I/F 24.

[Operations and Advantageous Effects of Illustrative Embodiment]

When particular instruction information is already stored in a queuearea, the operating unit 20 of the printer 10 operates in accordancewith the particular instruction information. In such a case, asexemplified in the illustrative embodiment, by skipping the preparationinstruction process, it is possible to prevent the printer 10 fromperforming unnecessary pre-printing operations. Further, by checking notonly the specified queue but all queue areas into which instructioninformation to be transmitted to the printer 10 is written, it ispossible to further effectively prevent the printer 10 from performingunnecessary pre-printing operations.

In the meantime, when a transmission time interval between thepreparation instruction information and the print instructioninformation is short, it is less advantageous to start the pre-printingoperations according to the preparation instruction information inadvance of the printing operation. In view of such a situation, asexemplified in the illustrative embodiment, when the preparationinstruction information still remains in the queue area although theprint job has been generated, by deleting the preparation instructioninformation from the queue area, it is possible to reduce acommunication traffic between the printer 10 and the informationprocessing terminal 50.

When the first value “ON” is set for the secure flag, the printer 10does not start the printing operation immediately upon receipt of theprint instruction information, but starts the printing operation inresponse to acceptance of the authentication information input via theinput I/F 24 as a trigger. In such a case, as exemplified in theillustrative embodiment, by skipping the preparation instructionprocess, it is possible to prevent the printer 10 from performingunnecessary pre-printing operations. It is noted that “the trigger tostart the printing operation” is not limited to the input of theauthentication information, but may include, e.g., coming of preset dateand time.

Further, as exemplified in the illustrative embodiment, by retractingthe condition information stored in the first area 62C into the secondarea 62D, it is possible to determine at appropriate timing whetherthere is a need to transmit the preparation instruction information.Further, the secure flag, which is included in the private information,is not editable by any other programs installed in the informationprocessing terminal 50 but the driver program 66. Therefore, it ispossible to determine at appropriate timing whether there is a need totransmit the preparation instruction information, based on the retractedcondition information.

According to the illustrative embodiment, it is determined whether totransmit the preparation instruction information, at the timing when thefunction S25 is invoked. Therefore, it is possible to prevent theprinter 10 from performing unnecessary pre-printing operations. In otherwords, it is possible to instruct the printer 10 to perform thepre-printing operations, at appropriate timing. Further, while theprinter 10 is performing the pre-printing operations in accordance withthe preparation instruction information, the information processingterminal 50 generates the print data. Therefore, it is possible toshorten an FPOT (“FPOT” is an abbreviated form of “First Print OutputTime”) that is a period of time taken from when the “OK” icon 126 isspecified on the standard setting screen to when the first sheet isdischarged from the printer 10.

Further, when the printer 10 is caused to record an image on a sheet ofa specific size, print data is generated after a longitudinal directionand a short direction of specified contents data are inverted.Therefore, it takes a longer period of time to perform a generationprocess of generating the print data than when the printer 10 is causedto record an image on a sheet of a non-specific size. Thus, asexemplified in the illustrative embodiment, by performing in parallelthe generation process by the information processing terminal 50 and thepre-printing process by the printer 10, it is possible to shorten theFPOT. Further, as exemplified in the illustrative embodiment, byperforming in parallel the generation process by the informationprocessing terminal 50 and a switching process (e.g., a process ofswitching the state of the power supply 11 from the dormant state to thedrive state in S72) by the printer 10, it is possible to further shortenthe FPOT. Further, in the illustrative embodiment, the printer 10conveys an A4-size sheet along a short direction of the sheet.Therefore, it is possible to shorten a period of time from when theprinter 10 begins to convey the sheet to when the printer 10 completesprinting for a single page. Furthermore, the printer 10 is configured toperform the pre-printing process using a period of time for generatingprint data for sheet conveyance along the short direction. Thus, it ispossible to shorten a period of time, including the FPOT, for completingprinting of a single page.

Further, according to the illustrative embodiment, a notificationprovider (e.g., the display 23) provides a notification that the printer10 has received the preparation instruction information (see e.g., S74).Consequently, it is possible to allow the user, who has issued aninstruction to cause the printer 10 to perform the printing operation,to recognize that the printer 10 has started the printing operation.

Hereinabove, the illustrative embodiment according to aspects of thepresent disclosure has been described. The present disclosure can bepracticed by employing conventional materials, methodology andequipment. Accordingly, the details of such materials, equipment andmethodology are not set forth herein in detail. In the previousdescriptions, numerous specific details are set forth, such as specificmaterials, structures, chemicals, processes, etc., in order to provide athorough understanding of the present disclosure. However, it should berecognized that the present disclosure can be practiced withoutreapportioning to the details specifically set forth. In otherinstances, well known processing structures have not been described indetail, in order not to unnecessarily obscure the present disclosure.

Only an exemplary illustrative embodiment of the present disclosure andbut a few examples of their versatility are shown and described in thepresent disclosure. It is to be understood that the present disclosureis capable of use in various other combinations and environments and iscapable of changes or modifications within the scope of the inventiveconcept as expressed herein. For instance, according to aspects of thepresent disclosure, the following modifications are possible.

In the aforementioned illustrative embodiment, an example has beendescribed in which each of the aforementioned various processes isexecuted by a processor (e.g., the CPU 31 and the CPU 61) executing acorresponding one of various programs (e.g., the computer programs 32A,the OS 64, the edit program 65, and the driver program 66) stored in acomputer-readable storage medium (e.g., the ROM 32 and the memory 62) ofthe printer 10 or the information processing terminal 50. Nonetheless,each process may be executed in whole or part by one or more hardwareelements (e.g., one or more processors, one or more ASICs, and acombination of one or more processors and one or more ASICs) incooperation with each other. Namely, a controller according to aspectsof the present disclosure may include one or more processors, one ormore ASICs, or a combination of one or more processors and one or moreASICs.

Further, aspects of the present disclosure may be achieved not only asthe printer 10 or the information processing terminal 50 but also ascomputer-readable instructions that cause the printer 10 or theinformation processing terminal 50 to perform each of the aforementionedvarious processes. The computer-readable instructions may be provided ina form stored in a non-transitory computer-readable medium. Thenon-transitory computer-readable medium may include, but is not limitedto, RAMs, ROMs, flash memories, EEPROMs, CD-media, DVD-media, temporarystorage, hard disk drives, floppy drives, permanent storage, and astorage device coupled with a server that is connectable with theprinter 10 and the information processing terminal 50 via acommunication network. The computer-readable instructions stored in thestorage device coupled with the server may be delivered as informationor signals representing the instructions via a communication networksuch as the Internet.

What is claimed is:
 1. A printing system comprising: a printer; and aninformation processing device comprising: a first communicationinterface; a processor; and a memory storing processor-executableinstructions configured to, when executed by the processor, cause theprocessor to perform: a determining process of determining whether toinstruct the printer to start a pre-printing operation based onpreparation instruction information, the determining process comprising:when there is not information stored in a queue area of the memory,determining to instruct the printer to start the pre-printing operation;and when there is information stored in the queue area, determining notto instruct the printer to start the pre-printing operation, thepre-printing operation being an operation to be performed by the printerto record an image with particular quality on a sheet in a printingoperation, the preparation instruction information being information tobe transmitted to the printer in advance of an instruction to cause theprinter to perform the printing operation, the queue area beingconfigured to store one or more pieces of information to be transmittedto the printer via the first communication interface, with atransmission sequence being specified for the one or more pieces ofinformation; a preparation instruction process in response todetermining to instruct the printer to start the pre-printing operation,the preparation instruction process comprising storing the preparationinstruction information into the queue area; a generating process inresponse to determining to instruct the printer to start thepre-printing operation and performing the preparation instructionprocess, the generating process comprising generating print data basedon specified contents data; and a print instruction process comprisingstoring print instruction information into the queue area, the printinstruction information being for instructing the printer to perform theprinting operation based on the generated print data, wherein theprinter comprises: an operating unit configured to perform thepre-printing operation and the printing operation; a secondcommunication interface; and a controller configured to perform: apreparation instruction receiving process comprising receiving thepreparation instruction information from the information processingdevice via the second communication interface; a pre-printing process inresponse to receiving the preparation instruction information, thepre-printing process comprising controlling the operating unit toperform the pre-printing operation; a print instruction receivingprocess comprising receiving the print instruction information from theinformation processing device via the second communication interface;and a print process in response to receiving the print instructioninformation and terminating the pre-printing process, the print processcomprising controlling the operating unit to perform the printingoperation in accordance with the print instruction information.
 2. Theprinting system according to claim 1, wherein the instructions areconfigured to, when executed by the processor, cause the processor to,in response to determining in the determining process not to instructthe printer to start the pre-printing operation, perform the generatingprocess without performing the preparation instruction process.
 3. A setcomprising: a printer; and a non-transitory computer-readable mediumstoring computer-readable instructions that are executable by a computercoupled with a first communication interface and a memory, theinstructions being configured to, when executed by the computer, causethe computer to perform: a determining process of determining whether toinstruct the printer to start a pre-printing operation based onpreparation instruction information, the determining process comprising:when there is not information stored in a queue area of the memory,determining to instruct the printer to start the pre-printing operation;and when there is information stored in the queue area, determining notto instruct the printer to start the pre-printing operation, thepre-printing operation being an operation to be performed by the printerto record an image with particular quality on a sheet in a printingoperation, the preparation instruction information being information tobe transmitted to the printer in advance of an instruction to cause theprinter to perform the printing operation, the queue area beingconfigured to store one or more pieces of information to be transmittedto the printer via the first communication interface, with atransmission sequence being specified for the one or more pieces ofinformation; a preparation instruction process in response todetermining to instruct the printer to start the pre-printing operation,the preparation instruction process comprising storing the preparationinstruction information into the queue area; a generating process inresponse to determining to instruct the printer to start thepre-printing operation and performing the preparation instructionprocess, the generating process comprising generating print data basedon specified contents data; and a print instruction process comprisingstoring print instruction information into the queue area, the printinstruction information being for instructing the printer to perform theprinting operation based on the generated print data, wherein theprinter comprises: an operating unit configured to perform thepre-printing operation and the printing operation; a secondcommunication interface; and a controller configured to perform: apreparation instruction receiving process comprising receiving thepreparation instruction information from the information processingdevice via the second communication interface; a pre-printing process inresponse to receiving the preparation instruction information, thepre-printing process comprising controlling the operating unit toperform the pre-printing operation; a print instruction receivingprocess comprising receiving the print instruction information from theinformation processing device via the second communication interface;and a print process in response to receiving the print instructioninformation and terminating the pre-printing process, the print processcomprising controlling the operating unit to perform the printingoperation in accordance with the print instruction information.
 4. Theset according to claim 3, wherein the instructions are configured to,when executed by the computer, cause the computer to, in response todetermining in the determining process not to instruct the printer tostart the pre-printing operation, perform the generating process withoutperforming the preparation instruction process.
 5. A non-transitorycomputer-readable medium storing computer-readable instructions that areexecutable by a processor coupled with an information processing devicecomprising a communication interface and a memory, the instructionsbeing configured to, when executed by the processor, cause the processorto perform: a first determining process of determining whether toinstruct the printer to start a pre-printing operation based onpreparation instruction information, the first determining processcomprising: when there is not particular information stored in a queuearea of the memory, determining to instruct the printer to start thepre-printing operation; and when there is particular information storedin the queue area, determining not to instruct the printer to start thepre-printing operation, wherein the pre-printing operation is anoperation to be performed by the printer to record an image withparticular quality on a sheet in a printing operation, the preparationinstruction information is information to be transmitted to the printerin advance of an instruction to cause the printer to perform theprinting operation, and the queue area is configured to store one ormore pieces of information to be transmitted by an operating system ofthe information processing device to a printer via the communicationinterface, with a transmission sequence being specified for the one ormore pieces of information; a preparation instruction process inresponse to determining to instruct the printer to start thepre-printing operation, the preparation instruction process comprisingstoring the preparation instruction information into the queue area; agenerating process in response to determining to instruct the printer tostart the pre-printing operation and performing the preparationinstruction process, the generating process comprising generating printdata based on specified contents data; and a print instruction processcomprising storing print instruction information into the queue area,the print instruction information being for instructing the printer toperform the printing operation based on the generated print data.
 6. Thenon-transitory computer-readable medium according to claim 5, whereinthe memory has a plurality of queue areas including the queue area, andwherein the first determining process further comprises: when there isnot particular information stored in any of the plurality of queueareas, determining to instruct the printer to start the pre-printingoperation; and when there is particular information stored in at leastone of the plurality of queue areas, determining not to instruct theprinter to start the pre-printing operation.
 7. The non-transitorycomputer-readable medium according to claim 5, wherein the firstdetermining process further comprises: when information different fromthe print instruction information is only stored in the queue area,determining to instruct the printer to start the pre-printing operation;and when the print instruction information is stored in the queue area,determining not to instruct the printer to start the pre-printingoperation.
 8. The non-transitory computer-readable medium according toclaim 5, wherein the instructions are further configured to, whenexecuted by the processor, cause the processor to, in advance of theprint instruction process, perform: a second determining processcomprising determining whether the preparation instruction informationis stored in the queue area; and a deleting process in response todetermining that the preparation instruction information is stored inthe queue area, the deleting process comprising deleting the preparationinstruction information from the queue area.
 9. The non-transitorycomputer-readable medium according to claim 8, wherein the printinstruction process further comprises storing into the queue area theprint instruction information with specified identification informationadded thereto, the specified identification information being specifiedby the operating system, wherein the preparation instruction processfurther comprises storing into the queue area the preparationinstruction information with generation identification information addedthereto, the generation identification information being generated notto be identical to the specified identification information, and whereinthe deleting process further comprises deleting from the queue area thepreparation instruction information with the generation identificationinformation added thereto.
 10. The non-transitory computer-readablemedium according to claim 5, wherein the instructions are furtherconfigured to, when executed by the processor, cause the processor to,in response to determining in the first determining process not toinstruct the printer to start the pre-printing operation, perform thegenerating process without performing the preparation instructionprocess.